<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
    xmlns:xs="http://www.w3.org/2001/XMLSchema"
    xmlns:xd="http://www.oxygenxml.com/ns/doc/xsl"
    exclude-result-prefixes="xs xd"
    version="2.0">

    <xsl:template match="/">
        <Baza>
            <Pojazdy>                
                <xsl:for-each select="baza/pojazdy/samochód">
                    <xsl:variable name="sam_id" select="@samochód_id"></xsl:variable>               
                    <Samochód>
                        <xsl:attribute name="id" select="@samochód_id"/>
                        <xsl:attribute name="id_właścicela" select="@właściciel_id"/>
                        <xsl:copy-of select="marka"/>
                        <xsl:copy-of select="model"/>
                        <xsl:copy-of select="rok_produkcji"/>
                        <xsl:variable name="wł" select="@właściciel_id"/>
                        <Właściciel>
                            <xsl:value-of select="../../właściciele/właściciel[@właściciel_id=$wł]/concat(imię,' ',nazwisko)"/>
                        </Właściciel>
                        <Naprawy>
                            <xsl:value-of select="../../warsztat/usługi/naprawy/naprawa[@samochód_id=$sam_id]/opis"/>
                        </Naprawy>
                        <xsl:variable name="naprawa" select="../../warsztat/usługi/naprawy/naprawa[@samochód_id=$sam_id]/@naprawa_id"/>
                        <Części>
                            <xsl:value-of select="../../warsztat/części/część[@naprawa_id=$naprawa]/concat(nazwa,' - ',producent,'; ')"/>
                        </Części>
                        <Przegląd_do>
                            <xsl:value-of select="../../warsztat/usługi/przeglądy/przegląd[@samochód_id=$sam_id]/data_następnego_przeglądu"/>
                        </Przegląd_do>
                    </Samochód>                
                </xsl:for-each>
            </Pojazdy>
            <Koszty>
                <xsl:for-each select="baza/właściciele/właściciel">
                    <Właściciel>
                        <xsl:variable name="id_właś" select="@właściciel_id"/>
                        <xsl:variable name="napraw" select="//naprawa"/>
                        <xsl:variable name="id_samo" select="for $i in (../../pojazdy/samochód[@właściciel_id=$id_właś]/@samochód_id) return sum($napraw[@samochód_id=$i]/cena)"/>
                        <xsl:variable name="koszt_napraw" select="format-number(sum($id_samo), '#.00')"/>

                        
                        <xsl:variable name="czę" select="//część"/>
                        <xsl:variable name="id_nap" select="for $i in (../../pojazdy/samochód[@właściciel_id=$id_właś]/@samochód_id) return ($napraw[@samochód_id=$i]/@naprawa_id)"/>
                        <xsl:variable name="części" select="for $j in $id_nap return sum($czę[@naprawa_id=$j]/cena_jednostkowa)"/>
                        <xsl:variable name="koszt_części" select="format-number(sum($części), '#.00')"/>
                        
                        <xsl:variable name="przeg" select="//przegląd"/>
                        <xsl:variable name="id_samo" select="for $i in (../../pojazdy/samochód[@właściciel_id=$id_właś]/@samochód_id) return sum($przeg[@samochód_id=$i]/cena)"/>
                        <xsl:variable name="koszt_przeglądów" select="format-number(sum($id_samo), '#.00')"/>
                        
                        
                        
                        <xsl:attribute name="wł_id" select="@właściciel_id"/>
                        <imię_i_nazwisko>
                            <xsl:value-of select="concat(imię,' ',nazwisko)"/>
                        </imię_i_nazwisko>
                        <Pojazd>
                            <xsl:value-of select="../../pojazdy/samochód[@właściciel_id=$id_właś]/concat(marka,' ',model,'; ')"/>    
                        </Pojazd>
                        <Koszt_napraw>
                            <xsl:value-of select="$koszt_napraw"/>
                        </Koszt_napraw>
                        <Koszt_części>
                            <xsl:value-of select="$koszt_części"/>

                        </Koszt_części>
                        <Koszt_przeglądów>
                            <xsl:value-of select="$koszt_przeglądów"/>
                        </Koszt_przeglądów>
                        <Suma>
                            <xsl:variable name="suma" select="number($koszt_przeglądów) +number($koszt_części) + number($koszt_napraw)"/>
                            <xsl:value-of select="format-number($suma, '#0.00')"/>
                        </Suma>
                    </Właściciel>
                </xsl:for-each>
            </Koszty>
            <Podsumowanie>
                <Autorzy>
                    <xsl:for-each select="baza/autorzy/autor">
                        <Autor>
                            <xsl:attribute name="autor_id" select="@autor_id"/>
                            <xsl:value-of select="concat(imię,' ',nazwisko,' ',numer_indeksu)"></xsl:value-of>
                        </Autor>                        
                    </xsl:for-each>
                </Autorzy>
                <Data_utworzenia>
                    <xsl:value-of select="current-dateTime()"></xsl:value-of>
                </Data_utworzenia>
            </Podsumowanie>
        </Baza>
        
    </xsl:template>
    
</xsl:stylesheet>